#ifndef __SYSTICK_H__
#define __SYSTICK_H__


#define uint32 unsigned int
	
#define MAX_TIMER 10 //利用滴答定时器实现软件定时器的个数
#define TaskNum 16 //最大允许的任务定时器个数，如果需要增加，请修改该值

extern uint32 sysTimer[MAX_TIMER];
extern uint32 TaskTimer[TaskNum];//声明任务定时器数组

#define DelayTimer            sysTimer[0] //延时定时器

#define ATaskTimer sysTimer[1]  //A任务运行定时器
#define BTaskTimer sysTimer[2]
#define CTaskTimer sysTimer[3]
#define Usart1RecTimer sysTimer[4] //串口1接收定时器，如果超时，表示一帧接收完毕
#define Usart2RecTimer sysTimer[5] //串口1接收定时器，如果超时，表示一帧接收完毕
#define Usart1ControlBeepTimer  sysTimer[6] //Usart1ControlBeepTask使用



//#define Usart3RecTimer        sysTimer[3]



void SysTickInit(void);//滴答定时器初始化
void SysTickDelayms(uint32 nms); //延时mS
void SysTickDelayUs(uint32 nus) ;
uint32 GetRunTime(void);//获取系统时间


/*************各任务函数声明***********************/
void IwdgTask(void);//声明看门狗IwdgTask任务函数
void ATask(void);//声明A任务函数
void BTask(void);//声明B任务函数
void CTask(void);
void Usart1ControlBeepTask(void);
void AdcTask(void);//声明ADC任务函数

#endif
